/*
 * 声明类 不需实现
 */
package com.jp;

public interface List<E> {
    /**
     * 没有找到元素
     */ 
    static final int ELEMENT_NOT_FOUND = -1;
    
    /**
     * 清除所有元素
     */    
    void clear();

    /**
     * 元素的个数
     * @return: 
     */    
    int size();

    /**
     * @是否为空
     */    
    boolean isEmpty();

    /**
     * @是否包含 元素 element
     * @return: 
     */
    boolean contains(E element);

    /**
     * @添加元素到 尾部
     * @return: 
     */
    void add(E element);
    /**
     * @获取 位置的元素
     * @param index 
     * @return: 
     */
    E get(int index);

    /**
     * @设置 index 位置的 元素 为 elemet, 返回原来的元素
     * @param {type} 
     * @return: 
     */
    E set(int index, E element);

    void add(int index, E element);

    /**
     * @移除 某个位置的元素
     * @return: 
     */
    E remove(int index);

    /**
     * @查看元素的索引
     * @return: 
     */
    int indexOf(E element);

}